using System;
using System.Collections.Generic;

namespace Com.ContentRendering.Api.DataEngine.Handler.Child
{
    /// <summary/>
    internal abstract class AbstractChildHandler
    {
        protected AbstractChildHandler _successor;
        protected ReflectionCache _reflectionCache;
        protected object _data;
        protected string _name;

        /// <summary/>
        internal AbstractChildHandler(
            ReflectionCache reflectionCache,
            object data,
            string name)
        {
            this._reflectionCache = reflectionCache;
            this._data = data;
            this._name = name;
        }

        /// <summary/>
        internal AbstractChildHandler Successor
        {
            set { this._successor = value; }
        }

        /// <summary/>
        internal abstract object Invoke();
    }
}
